Patch from Yao Zhang fixing reference count leak.
authorOwen Taylor <otaylor@redhat.com>
Mon, 18 Mar 2002 17:49:51 +0000 (17:49 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 18 Mar 2002 17:49:51 +0000 (17:49 +0000)
Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>

* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
Patch from Yao Zhang fixing reference count leak.

* gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
not if (!entry->editable).

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkentry.c
gtk/gtkimmulticontext.c

index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index 532c5caf90fcb0fbb315cd6c0f995db822d40660..823809230e1d202e77d8a5aea83be05be091fce0 100644 (file)
@@ -1,3 +1,11 @@
+Mon Mar 18 11:55:03 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
+       Patch from Yao Zhang fixing reference count leak.
+
+       * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable),
+       not if (!entry->editable).
+
 Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): 
index fd5733a9081ce7b451f7232a798e9c0201c51c95..00d67cbdd938183a24ff765f33525835b91a3907 100644 (file)
@@ -1539,7 +1539,7 @@ gtk_entry_key_release (GtkWidget   *widget,
 {
   GtkEntry *entry = GTK_ENTRY (widget);
 
-  if (!entry->editable)
+  if (entry->editable)
     {
       if (gtk_im_context_filter_keypress (entry->im_context, event))
        {
index 3abb72f24ddc88d0ab6416293dda400c070ea307..446a51f78aeaaeb9346160c7d075c2dcd6a6bb7c 100644 (file)
@@ -217,6 +217,8 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext)
 {
   if (!multicontext->slave)
     {
+      GtkIMContext *slave;
+
       if (!global_context_id)
        {
          const char *locale;
@@ -229,7 +231,10 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext)
          global_context_id = _gtk_im_module_get_default_context_id (locale);
        }
        
-      gtk_im_multicontext_set_slave (multicontext, _gtk_im_module_create (global_context_id), FALSE);
+      slave = _gtk_im_module_create (global_context_id);
+      gtk_im_multicontext_set_slave (multicontext, slave, FALSE);
+      g_object_unref (slave);
+
       multicontext->context_id = global_context_id;
     }